home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / misc / amag / sh9301c.lha / Oberon(S.67) / Listing14.mod < prev    next >
Text File  |  1993-01-22  |  1KB  |  42 lines

  1. MODULE China;
  2. IMPORT
  3.   io, fs: FileSystem, a: Arguments;
  4. VAR
  5.   In, Out: fs.File;
  6.   Chr: CHAR;
  7.   Arg: ARRAY 80 OF CHAR;
  8. BEGIN
  9.   IF a.NumArgs() # 2 THEN
  10.     io.WriteString ("Usage: ");
  11.     a.GetArg (0, Arg);
  12.     io.WriteString (Arg);
  13.     io.WriteString (" InFile/A,OutFile/A\n");
  14.     HALT (20);
  15.   END;
  16.   a.GetArg (1, Arg);
  17.   IF NOT fs.Open (In, Arg, FALSE) THEN
  18.     io.WriteString ("Can't open ");
  19.     io.WriteString (Arg);
  20.     io.WriteString (" for input!\n");
  21.     HALT (20);
  22.   END; (* IF *)
  23.   a.GetArg (2, Arg);
  24.   IF NOT fs.Open (Out, Arg, TRUE) THEN
  25.     io.WriteString ("Can't open ");
  26.     io.WriteString (Arg);
  27.     io.WriteString (" for output!\n");
  28.     HALT (20);
  29.   END; (* IF *)
  30.   LOOP
  31.     IF NOT fs.ReadChar (In, Chr) THEN EXIT END;
  32.     IF Chr = 'r' THEN Chr := 'l' END;
  33.     IF Chr = 'R' THEN Chr := 'L' END;
  34.     IF NOT fs.WriteChar (Out, Chr) THEN EXIT END;
  35.   END;
  36.   IF (In.status # fs.eof) OR (Out.status # fs.ok) THEN
  37.     io.WriteString ("Error processing file!\n");
  38.   END;
  39.   IF NOT fs.Close (In)  THEN io.WriteString ("Close failed!?\n") END;
  40.   IF NOT fs.Close (Out) THEN io.WriteString ("Close failed!?\n") END;
  41. END China.
  42.